package main

import "fmt"

type Work interface {
	work()
}

type Secretary struct {

}
// 这里如果是接收一个指针
func (s Secretary) work() {
	fmt.Println("work from secretary")
}

type Manager struct {
	worker Work
}
func NewManager(worker Work) Manager {
	return Manager{
		worker: worker,
	}
}
func (m Manager) do() {
	workPointer := &m.worker

}

func main() {
	s := Secretary{}
	m := NewManager(s)
	fmt.Println("%+d",)
	m.do()
}